package Service;

import Model.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.util.List;

public interface StaticDataImportService {

    //解析评估申请dbf文件
    List<EstimateApply> getEstimateApplyList(MultipartFile file) throws IOException, ParseException;
    //将解析完成的评估申请dbf文件导入mysql
    int insertEstimateApply(List<EstimateApply> estimateApplies);

    //解析评估结果dbf文件
    List<EstimateResult> getEstimateResultList(MultipartFile file)throws IOException;
    //将解析完成的评估结果dbf文件导入mysql
    int insertEstimateResult(List<EstimateResult> estimateResults);


    //解析护理计划dbf文件
    List<CarePlan> getCarePlanList(MultipartFile file) throws Exception;
    //将解析完成的护理计划dbf文件导入mysql
    int insertDbfData(List<CarePlan> carePlanList);

    //解析护理内容dbf文件
    List<CareContent> getCareContentList(MultipartFile file) throws IOException;
    //将解析完成的护理内容dbf文件导入mysql
    int insertCareContent(List<CareContent> careContents);

    //解析护理交易记录dbf文件
    List<CareDeal> getCareDealList(MultipartFile file)throws IOException;
    //将解析完成的护理交易记录dbf文件导入mysql
    int insertCareDeal(List<CareDeal> careDeals);

    //解析老人去世信息的dbf
    List<ElderDead> getElderDeadList(MultipartFile file) throws IOException, ParseException;
    //将解析完成的老人去世信息dbf文件导入mysql
    int insertElderDead(List<ElderDead> elderDeads);

    //解析老人住院信息的dbf
    List<ElderHospital> getElderHospitalList(MultipartFile file) throws IOException;
    //将解析完成的老人住院信息dbf文件导入mysql
    int insertElderHospital(List<ElderHospital> elderHospitals);


    //查询评估申请表 某年已导入的月份数据
    List<MonthData> selectEstimateApplyMonth(String year);

    //查询评估结果表 某年已导入的月份数据
    List<MonthData> selectEstimateResultMonth(String year);

    //查询护理计划表 某年已导入的月份数据
    List<MonthData> selectMonthList(String year);

    //查询护理内容表 某年已导入的月份数据
    List<MonthData> selectCareContentMonth(String year);

    //查询护理交易记录表 某年已导入的月份数据
    List<MonthData> selectCareDealMonth(String year);

    //查询老人去世信息 某年已导入的月份数据
    List<MonthData> selectElderDeadMonth(String year);

    //查询老人住院信息 某年已导入的月份数据
    List<MonthData> selectElderHospitalMonth(String year);
}
